package cn.zwx.infra.svc.service.sms;

import cn.zwx.base.exception.BizWrapException;
import cn.zwx.base.utils.PageUtil;
import cn.zwx.infra.svc.dto.SmsChannelPageDTO;
import cn.zwx.infra.svc.dto.SmsChannelSaveDTO;
import cn.zwx.infra.svc.dto.SmsChannelUpdateDTO;
import cn.zwx.infra.svc.vo.SmsChannelSimpleVO;
import cn.zwx.infra.svc.vo.SmsChannelVO;

import java.util.List;

/**
 * @author zhangwenxue
 */
public interface SmsChannelService {
    /**
     * 创建短信渠道借口
     * @param dto  入参
     * @return id
     */
    Long createSmsChannel(SmsChannelSaveDTO dto);

    /**
     * 更新短信渠道
     * @param dto  入参
     * @return Boolean
     */
    Boolean updateSmsChannel(SmsChannelUpdateDTO dto) throws BizWrapException;

    /**
     * 删除短信渠道
     * @param id 主键id
     * @return Boolean
     */
    Boolean deleteSmsChannel(Long id) throws BizWrapException;
    /**
     * 查询渠道信息
     * @param id 主键id
     * @return SmsChannelVO
     */
    SmsChannelVO getSmsChannel(Long id);

    /**
     * 查询渠道信息 分页
     * @param dto 入参
     * @return PageUtil
     */
    PageUtil<SmsChannelVO> getSmsChannelPage(SmsChannelPageDTO dto);

    /**
     *  获得短信渠道精简列表
     * @return SmsChannelSimpleVO
     */
    List<SmsChannelSimpleVO> getSimpleSmsChannelList();
}
